// var i;
// var $resKeeper = require("./ResKeeper");
// var s = cc._decorator;
// var l = s.ccclass;
// var u = (s.property, s.inspector);
// var d = (function (e) {
//     function t() {
//         var t = (null !== e && e.apply(this, arguments)) || this;
//         t.code = 1;
//         t.speed = 1;
//         return t;
//     }
//     __extends(t, e);
//     t.prototype.update = function () {
//         if (1 == this.code) {
//             this.node.x += this.speed;
//             this.node.x > 800 && (this.code = 2);
//         } else {
//             this.node.x -= this.speed;
//             this.node.x < -800 && (this.code = 1);
//         }
//     };
//     return __decorate([l], t);
// })($resKeeper.default);
// exports.default = d;

// import ResKeeper from './ResKeeper';

// const { ccclass, property, inspector } = cc._decorator;

// /**
//  * 水平方向移动组件，基于ResKeeper类进行扩展
//  * 建议类名： HorizontalMover
//  */
// @ccclass
// class UI_MoveYun extends ResKeeper {
//     /**
//      * 控制节点移动的状态码
//      * 1 表示向右移动，2 表示向左移动
//      */
//     public code: number = 1;

//     /**
//      * 节点的移动速度
//      */
//     public speed: number = 1;

//     /**
//      * 每帧调用，更新节点的位置
//      * 建议方法名： updateNodePosition
//      */
//     update() {
//         if (this.code === 1) {
//             // 如果 code 为 1，节点向右移动
//             this.node.x += this.speed;
//             // 如果节点的 x 坐标超过 800，切换方向为向左移动
//             if (this.node.x > 800) {
//                 this.code = 2;
//             }
//         } else {
//             // 如果 code 不为 1，节点向左移动
//             this.node.x -= this.speed;
//             // 如果节点的 x 坐标小于 -800，切换方向为向右移动
//             if (this.node.x < -800) {
//                 this.code = 1;
//             }
//         }
//     }
// }

// export default UI_MoveYun;

import ResKeeper from './ResKeeper';

// Cocos Creator 装饰器
const { ccclass, property, inspector } = cc._decorator;

/**
 * 水平方向移动组件，基于ResKeeper类进行扩展
 * 建议类名： HorizontalMover
 */
@ccclass
class ViewMoveYun extends ResKeeper {
    /**
     * 控制节点移动的状态码
     * 1 表示向右移动，2 表示向左移动
     * 
     * @suggestedName directionCode
     */
    public code: number = 1;

    /**
     * 节点的移动速度
     * 
     * @suggestedName moveSpeed
     */
    public speed: number = 1;

    /**
     * 每帧调用，更新节点的位置
     * 建议方法名： updateNodePosition
     */
    update() {
        // 如果 code 为 1，节点向右移动，否则节点向左移动
        const direction = this.code === 1 ? 1 : -1;
        this.node.x += direction * this.speed;  // 节点位置更新

        // 根据节点 x 坐标切换方向
        if (this.node.x > 800) {
            this.code = 2;
        } else if (this.node.x < -800) {
            this.code = 1;
        }
    }
}

export default ViewMoveYun;